package com.fg.pro.trade.entity;

import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.io.Serializable;

/**
 * 商品(TradeGoods)表实体类
 *
 * @author makejava
 * @since 2025-08-12 09:18:13
 */
@SuppressWarnings("serial")
@Data
public class TradeGoods extends Model<TradeGoods> {
//主键
    private Long id;
//版本
    private Long goodsRevision;

    private Date createTime;

    private Date updateTime;
//企业id
    private Long goodsGroupId;
//站点id
    private Long goodsStationId;
//sku分类的上级分类id
    private Long categoryId;
//一级分类ID
    private Long goodsCategoryFirId;
//二级分类ID
    private Long goodsCategorySecId;
//三级分类ID
    private Long goodsCategoryTirId;
//sku_id
    private Long goodsSkuId;
//spu_id
    private Long goodsSpuId;
//基本单位
    private Long goodsBaseUnitId;
//基本单位名称
    private String goodsBaseUnitName;
//自定义单位的最大单位
    private Long goodsMaxUnitId;
//商品名字
    private String goodsName;
//商品名的拼音首字母
    private String goodsPinyinFirstLetter;
//商品名的拼音
    private String goodsPinyinLetter;
//自定义编码
    private String goodsCustomizeCode;
//商品大类 0：无 1：包材 2：非包材，普通商品 3：组合商品
    private Integer goodsSkuType;
//1,投框方式 0：无 1：按订单投框 2：按司机投框
    private Integer goodsDispatchType;
//供应商id
    private Long supplierId;
//生产单位id
    private Long goodsProductionUnitId;
//生产单位名称
    private String goodsProductionUnitName;
//生产单位rate
    private Integer goodsProductionUnitRate;
//生产单位父id
    private Long goodsProductionUnitParentId;
//采购单位
    private Long goodsPurchaseUnitId;
//可售/不可售
    private Integer goodsOnSale;
//是否称重
    private Integer goodsIsWeight;
//换算方式 0：无 1：取固定值 2：按下单数设置
    private Integer goodsPackageCalculateType;
//包材数量
    private Integer goodsPackageNum;
//条形码
    private String goodsBarCode;
//最小价格
    private Double goodsMinPrice;
//最大价格
    private Double goodsMaxPrice;
//供应商协作模式 0：无 1：仅供货 2：代分拣 4：代配送
    private Integer goodsSupplierCooperateModelType;
//是否存在规则
    private Integer goodsHavePurchaseRule;
//默认仓库ID
    private Long goodsWarehouseId;
//商品创建者ID
    private Long goodsCreatorId;
//商品创建者名称
    private String goodsCreatorName;
//采购模式 0：无 1：常规商品 2：临采商品
    private Integer goodsPurchaseSkuType;
//商品排序
    private Integer goodsSortNum;
//sku创建来源 0：无 1：标准版ERP创建 2：轻巧版ERP创建 3：eshop接口创建 4：轻巧版接口创建
    private Integer goodsSource;
//供应站点ID
    private Long supplyStationId;
//商品批次类型 0：有批次 1：有批次 2：无批次
    private Integer goodsSkuBatchType;
//批次类型变动后的生效时间
    private Date goodsSkuBatchTypeEffectuateTime;


    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    public Serializable pkVal() {
        return this.id;
    }
}

